package partFour;

import org.junit.Test;

/**本类用来测试反射*/
public class TestReflect {
    //1.创建入口函数main()--不用
    /**单元测试方法:是java测试的最小单位,使用灵活,推荐使用
     * 语法要求: @Test + void + 没有参数 + public
     * 注意使用时需要导包:Add JUnit 4 library to the build path:import org.junit.Test;
     * 单元测试方法执行方式:选中方法名-->右键运行(Run As-->JUnit Test)-->出现小绿条说明执行成功
     */
    //2.通过单元测试来测试如何获取类对象
    @Test
    public void getClazz() throws Exception {
        /**右键要获取字节码对象的类名,选择Copy Quailfied Name复制类的全路径名*/
        Class<?> student1 = Class.forName("partFour.Student");//此处的参数是类的全路径名[包名+类名]
        Class<?> student2 = Student.class;
        Class<?> student3 = new Student().getClass();//先创建匿名对象,匿名对象没有名字,然后对象的字节码对象
        System.out.println(student1);//反射得到的字节码Class对象
        System.out.println(student2.getName());//获取类的全路径名[包名+类名]
        System.out.println(student3.getSimpleName());//只获取类名
        System.out.println(student3.getPackage().getName());//获取包名
    }
}